1. Technical Field
The present invention generally relates to systems having multiple processors, and more particularly, to systems having multiple processors where the resources of the processors are dynamically allocated.
2. Related Art
In today's fast moving electronic based environments, the consumer has continued to demand both increased speed and increased reliability. In order to fulfill these desires, the industry has adopted an approach that uses redundant components in a system where parallel processing can be performed. Unfortunately, duplicated components of these systems have been designed in a static state so that they either operate in parallel for speed or perform redundant operations for reliability. If a user was not concerned about size or cost, these types of designs would suffice.
For example, multi-processor systems that support both reliability and performance are currently designed by assigning one set of dedicated processors for performance based operations, and another set of dedicated processors for reliability based operations. The cost associated with these additional redundant processors can become quite substantial. Furthermore, since the systems are static, the consumer is unable to change the configuration or allocation of the processors for either reliability or performance without purchasing a new system.
In yet another example, the performance of the processors themselves can also be increased by adding duplicate components (e.g. Floating point execution units) for parallel execution.
It would, therefore, be a distinct advantage to have an electronic device that has duplicate components that could be dynamically assigned to a task based upon either performance or reliability purposes. The present invention provides such a device.